• File: ajax_get_availability.php
  • Full Path: C:/htdocs/REEFT_GPS_new/REEFT_GPS/ajax_get_availability.php
  • Date Modified: 05/08/2025 3:37 PM
  • File size: 2.97 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
//======================================================================================
//
// Function: Get availability from TEO
//
// Programmer: AR
// Date      : 2025-05-06
//
// Copyright Reeft A/S (c) - 2025
//======================================================================================

//======================================================================================	
// Set session
//======================================================================================			
if(!isset($_SESSION))
{ 
	session_start();
}

//======================================================================================
// General 
//======================================================================================
include "include/apikey.php";
include "rft_apicall.php";
$returnResult = [];
$returnResult["error"] = "";

//======================================================================================
// Get input
//======================================================================================
if (isset($_SESSION["receivedToken"]))	{
	$receivedToken = $_SESSION["receivedToken"];
} else {
	$returnResult["error"]	.= "receivedToken missing";
	echo json_encode($returnResult);
	exit;
}
if (isset($_SESSION["ConsiderOrganizationHeader"]))	{
	$ConsiderOrganizationHeader = $_SESSION["ConsiderOrganizationHeader"];
} else {
	$ConsiderOrganizationHeader	= "";
}
if (isset($_SESSION["UseSharedDb"]))	{
	$UseSharedDb = $_SESSION["UseSharedDb"];
} else {
	$UseSharedDb				= "";
}
if (isset($_SESSION["TargetOrganization"]))	{
	$TargetOrganization = $_SESSION["TargetOrganization"];
} else {
	$TargetOrganization			= "";
}

if (isset($_REQUEST["depUuid"]))	{
	$depUuid = $_REQUEST["depUuid"];
} else {
	$depUuid	= "";
}

$headers = [
		'accept: text/plain',
		'ConsiderOrganizationHeader: ' . $ConsiderOrganizationHeader,
		'UseSharedDb: ' . $UseSharedDb,
		'TargetOrganization: ' . $TargetOrganization,
	];


$url = $rftUrlOrganization . '/OrganizationAvailability/' . $depUuid . '/GetByOrganizationId';

$response = makeApiCall($url, $headers);

if (isset($response['error'])) {
    $returnResult["error"]	.= $response['error'];
} else if (isset($response['data']) && is_array($response['data'])) {
	// Create new data node
	foreach ($response['data']['availabilityItems'] as &$item) {
		$tmpArr = array();
		
		$startTime = new DateTime($item['startTime']);
		// Add availability duration to calculate end time
		$endTime = clone $startTime;
		$endTime->modify("+ ".$item['availabilityDuration']." minutes");
		
		$tmpArr['startTimeOnly'] 	= $startTime->format('H:i');
		$tmpArr['endTimeOnly'] 		= $endTime->format('H:i');
		
		$tmpArr["id"] 				= $item["availabilityItemId"];
		$tmpArr["weekDay"]			= $item["weekDay"];
		$tmpArr["startTime"]		= $item["startTime"];
		$tmpArr["availabilityDuration"]	= $item["availabilityDuration"];
		$returnResult[] = $tmpArr;
		
	}
}	

echo json_encode($returnResult);